package com.jams.goodox.utils;

import android.graphics.Typeface;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.text.method.PasswordTransformationMethod;
import android.widget.EditText;
import android.widget.ImageView;

import com.jams.goodox.R;

/**
 * Created by jams on 2016/7/19.
 * ***
 * Tel: ***
 */

public class EditTextUtils {
    //判断输入框是否为空
    public static boolean editTextIsEmpty(EditText editText) {
        if (editText.getText().toString().equals("")) {
            return true;
        }
        return false;
    }

    //获取输入框内容长度
    public static int editTextLength(EditText editText) {
        return editText.getText().toString().trim().length();
    }

    /**
     * 可以控制整数长度，小数长度
     *
     * @param editText
     * @param integerCount 整数长度值
     * @param decimalCount 小数保留位数
     */
    static CharSequence temp;

    public static void setPricePoint(final EditText editText, final int integerCount, final int decimalCount) {

        editText.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                                      int count) {
//                if(s.toString().length()>=integerCount){
//                    editText.setText(s.toString());
//                }
                if (!s.toString().isEmpty() && !s.toString().equals(".") && Double.valueOf(s.toString()) > 999999.99) {
//                    s = s.toString().subSequence(0, s.toString().length() - 1);
                    s = temp.toString();
                    editText.setText(s.toString());
                    editText.setSelection(s.length());
                    return;
                }
//                if (s.toString().contains(".")) {
//                    //取decimalCount位小数
//                    if (s.length() - 1 - s.toString().indexOf(".") > decimalCount) {
//                        s = s.toString().subSequence(0,
//                                s.toString().indexOf(".") + decimalCount+1);
//                        editText.setText(s);
//                        editText.setSelection(s.length());
//                    }
//                }
//                if (s.toString().trim().substring(0).equals(".")) {
//                    //第一个输入“.”转成“0.”
//                    s = "0" + s;
//                    editText.setText(s);
//                    editText.setSelection(2);
//                }
//
//                if (s.toString().startsWith("0")
//                        && s.toString().trim().length() > 1) {
//                    if (!s.toString().substring(1, 2).equals(".")) {
//                        editText.setText(s.subSequence(0, 1));
//                        editText.setSelection(1);
//                    }
//                }
            }

            @Override
            public void afterTextChanged(Editable editable) {
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                                          int after) {
                temp = s;
            }
        });

    }

    //获取EditText内容，去掉空格
    public static String getTextNoSpace(EditText editText) {
        return editText.getText().toString().replace(" ", "");
    }

    /**
     * 通用处理编辑框password是否可见的方法
     * @param isSee true 可见 false 不可见
     * @param editText 编辑框
     */
    public static void setEditPassDoSee(boolean isSee,EditText editText){
        if(isSee){
            editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
            editText.setAllCaps(true);
        }else {
            editText.setTypeface(Typeface.DEFAULT);
            editText.setTransformationMethod(new PasswordTransformationMethod());
        }
    }

    /**
     * 用于控制使用EditTextWithDel密码编辑框处理是否可见的操作
     * @param isSee true 可见 false 不可见
     * @param editText  编辑框
     * @param imageView 眼睛imageView
     */
    public static void setPassEditSeeAndRyeImage(boolean isSee, EditText editText, ImageView imageView){
        setEditPassDoSee(isSee,editText);
        imageView.setImageResource(isSee? R.mipmap.see_password_gray:R.mipmap.unsee_password_gray);
    }

    /**
     * 初始化需要设置密码是否可见的编辑框 1：设置编辑框
     * @param editText 编辑框
     */
    public static void initPassWordEdit(EditText editText){
        Utils.setFilter(editText);//设置编辑框过滤器
        editText.setTypeface(Typeface.DEFAULT);
        editText.setTransformationMethod(new PasswordTransformationMethod());
    }
}
